15 research outputs found

    Executable formal specifications of complex distributed systems with CoreASM

    Get PDF
    Formal specifications play a crucial role in the design of reliable complex software systems. Executable formal specifications allow the designer to attain early validation and verification of design using static analysis techniques and accurate simulation of the runtime behavior of the system-to-be. With increasing complexity of software-intensive computer-based systems and the challenges of validation and verification of abstract software models prior to coding, the need for interactive software tools supporting executable formal specifications is even more evident. In this paper, we discuss how CoreASM, an environment for writing and running executable specifications according to the ASM method, provides flexibility and manages the complexity by using an innovative extensible language architecture

    CoreASM: an extensible modeling framework & tool environment for high-level design and analysis of distributed systems

    Get PDF
    Model-based systems engineering naturally requires abstract executable specifications to facilitate simulation and testing in early stages of the system design process. Abstraction and formalization provide effective instruments for establishing critical system requirements by precisely modeling the system prior to construction so that one can analyze and reason about specification and design choices and better understand their implications. There are many approaches to formal modeling of software and hardware systems. Abstract State Machines, or ASMs, are well known for their versatility in computational and mathematical modeling of complex distributed systems with an orientation toward practical applications. They offer a good compromise between declarative, functional and operational views towards modeling of systems. The emphasis on freedom of abstraction in ASMs leads to intuitive yet accurate descriptions of the dynamic properties of systems. Since ASMs are in principle executable, the resulting models are validatable and possibly falsifiable by experiment. Finally, the well-defined notion of step-wise refinement in ASMs bridges the gap between abstract models and their final implementations. There is a variety of tools and executable languages available for ASMs, each coming with their own strengths and limitations. Building on these experiences, this work puts forward an extensible and executable ASM language and tool architecture, called CoreASM, emphasizing freedom of experimentation and design exploration in the early phases of the software development process. CoreASM aims at preserving the very idea of ASM modeling---the design of accurate abstract models at the level of abstraction determined by the application domain, while encouraging rapid prototyping of such abstract models for testing and design space exploration. In addition, the extensible language and tool architecture of CoreASM facilitates integration of domain-specific concepts and special-purpose tools into its language and modeling environment. CoreASM has been applied in a broad scope of R&D projects, spanning maritime surveillance, situation analysis, and computational criminology. In light of these applications, we argue that the design and implementation of CoreASM accomplishes its goals; it not only preserves the desirable characteristics of abstract mathematical models, such as conciseness, simplicity and intelligibility, but it also adheres to the methodological guidelines and best practices for ASM modeling

    Semantic Blueprints of Discrete Dynamic Systems: Challenges and Needs in Computational Modeling of Complex Behavior

    No full text
    How can one cope with the notorious problem of establishing the correctness and completeness of abstract functional requirements in the design of control-intensive software systems prior to actually building the system? The answer given here explores abstract state machines (ASMs): a universal mathematical framework for semantic modeling of discrete dynamic systems. Combining common abstraction principles from computational logic and discrete mathematics, ASMs provide a universal model of computation and an effective instrument for analyzing and reasoning about complex semantic properties of real-world systems. Widely recognized applications include semantic foundations of virtually all kinds of architectures, languages and protocols. In this paper we focus on empirical aspects in modeling concurrent and reactive behavior

    CoreASM: An extensible ASM execution engine

    No full text
    In this paper we introduce a new research effort in making abstract state machines executable. The aim is to specify and implement an execution engine for a language that is as close as possible to the mathematical definition of pure ASM. The paper presents the general architecture of the engine, together with a high-level description of the extensibility mechanisms that are used by the engine to accommodate arbitrary backgrounds, scheduling policies, and new rule forms
    corecore